Operaciones Numpy

Aritmetica


In [1]:
# librerias
import numpy as np

# crear un arreglo
arr = np.arange(0,10)

# desplegar arreglo
arr


Out[1]:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [2]:
# suma
arr + arr


Out[2]:
array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

In [3]:
# multiplicacion
arr * arr


Out[3]:
array([ 0,  1,  4,  9, 16, 25, 36, 49, 64, 81])

In [4]:
# resta
arr - arr


Out[4]:
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

In [5]:
# Advertencia en las divisiones por zero, pero no un error
# solo se remplazan con un nan
arr/arr


/Users/marci/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: RuntimeWarning: invalid value encountered in true_divide
  if __name__ == '__main__':
Out[5]:
array([ nan,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.,   1.])

In [6]:
# advertencia en el caso de valores infinitos
1/arr


/Users/marci/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: RuntimeWarning: divide by zero encountered in true_divide
  if __name__ == '__main__':
Out[6]:
array([        inf,  1.        ,  0.5       ,  0.33333333,  0.25      ,
        0.2       ,  0.16666667,  0.14285714,  0.125     ,  0.11111111])

In [10]:
arr**3


Out[10]:
array([  0,   1,   8,  27,  64, 125, 216, 343, 512, 729])

Funciones universales para arreglos

Numpy integra varias funciones universales, las cuales son escenciales para realizar operaciones matematicas


In [12]:
# raiz cuadrada
np.sqrt(arr)


Out[12]:
array([ 0.        ,  1.        ,  1.41421356,  1.73205081,  2.        ,
        2.23606798,  2.44948974,  2.64575131,  2.82842712,  3.        ])

In [13]:
# exponencial (e^)
np.exp(arr)


Out[13]:
array([  1.00000000e+00,   2.71828183e+00,   7.38905610e+00,
         2.00855369e+01,   5.45981500e+01,   1.48413159e+02,
         4.03428793e+02,   1.09663316e+03,   2.98095799e+03,
         8.10308393e+03])

In [14]:
np.max(arr) # igual que arr.max()


Out[14]:
9

In [15]:
np.sin(arr)


Out[15]:
array([ 0.        ,  0.84147098,  0.90929743,  0.14112001, -0.7568025 ,
       -0.95892427, -0.2794155 ,  0.6569866 ,  0.98935825,  0.41211849])

In [16]:
np.log(arr)


/Users/marci/anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: RuntimeWarning: divide by zero encountered in log
  if __name__ == '__main__':
Out[16]:
array([       -inf,  0.        ,  0.69314718,  1.09861229,  1.38629436,
        1.60943791,  1.79175947,  1.94591015,  2.07944154,  2.19722458])